iT邦幫忙

2021 iThome 鐵人賽

DAY 14
0
Software Development

iOS 學習筆記系列 第 14

Day14 Combine 01 - 簡介

  • 分享至 

  • xImage
  •  

Apple 在 WWDC 2019 介紹了全新的 SwiftUI,一個以宣告式結合響應式編程 (FRP,Functional Reactive Programming )的 UI 設計工具,而與SwiftUI配套發佈的響應式編程框架Combine也提供了開發者更優美的開發方式

在介紹Combine 之前,我們來簡要介紹一下兩個概念:

  1. 觀察者模式

    觀察者模式(Observer Pattern)是一種設計模式,用來描述一對多關係,一個對象發生改變時將自動通知其他對象,其他對象將相應做出反應,這兩類分別被稱為被觀察目標(Observable)觀察者(Observer),也就是說一個觀察目標可以對應多個觀察者,觀察者可以訂閱它們感興趣的內容,當觀察目標內容改變時,它會向這些觀察者廣播通知(調用Observer的更新方法)。有一點需要說明的是,觀察者之間彼此時互相獨立的,也並不知道對方的存在

  2. 響應式編程

    響應式編程(Reactive Programming)是一種程式設計思想,為了可以在程式語言中可以很方便地表達靜態或動態的資料流,而相關的計算模型會自動將變化的值通過資料流進行傳播,相對應的也有面向過程編程、面向對象編程、函數式編程等等。不同的是,響應式編程的核心是面向異步數據流和變化的

    在現在的前端世界中,我們需要處理大量的事件,既有用戶的交互,也有不斷的網絡請求,還有來自系統或者框架的各種通知,因此也無可避免產生複雜的狀態。使用響應式編程後,所有事件將成為異步的數據流,更加方便的是可以對這些數據流可以進行組合變換,最終我們只需要監聽所關心的數據流的變化並做出響應即可

接下來我們來看看**Combine**:

Combine 框架提供了一個聲明性的 Swift API,是 Apple 實現FRP 的框架,用於隨著時間的推移處理值的變化(各種異步事件),可以使代碼更加簡潔、易於維護,也免除了常出現問題的嵌套閉包和回調地獄,也就是基於觀察者模式和響應式編程,讓我們可以處理各種異步需求

Combine 框架主要分成發布者 (Publisher)、操作/運算符 (Operator)、和訂閱者 (Subscriber) 三大部分,透過這三種元件的組裝,來建立各式各樣的訂閱關係 (Subscription)

下面幾天我們會各別去做介紹


上一篇
Day13 SwiftUI 06 - WebView
下一篇
Day15 Combine 02 - Publisher
系列文
iOS 學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言